all: analyseur

y.tab.c:  scalpa.y
	yacc -d -v scalpa.y

lex.yy.c : scalpa.l y.tab.c
	lex scalpa.l

variableEtFonction.o : variableEtFonction.h variableEtFonction.c
	gcc -c variableEtFonction.c variableEtFonction.h

pileIdentifiants.o : pileIdentifiants.c pileIdentifiants.h variableEtFonction.h
	gcc -c pileIdentifiants.c pileIdentifiants.h 

tableHashage.o : tableHashage.h tableHashage.c pileIdentifiants.h
	gcc -c tableHashage.c tableHashage.h 
	
code4adresses.o : code4adresses.c code4adresses.h global.h
	gcc -c code4adresses.c

registres.o: registres.h registres.c variableEtFonction.h code4adresses.h
	gcc -c registres.c

sortieFichier.o : sortieFichier.h sortieFichier.c code4adresses.h
	gcc -c sortieFichier.c

lex.yy.o : lex.yy.c
	gcc -c lex.yy.c

#y.tab.o : y.tab.c y.tab.h
#	gcc -c y.tab.c  
	
analyseur: y.tab.c lex.yy.o sortieFichier.o registres.o code4adresses.o tableHashage.o pileIdentifiants.o variableEtFonction.o
	gcc y.tab.c lex.yy.o sortieFichier.o registres.o code4adresses.o tableHashage.o pileIdentifiants.o variableEtFonction.o -lfl -lm -o analyseur

clean:
	rm *.yy.c y.tab.* analyseur *.o *.gch
